home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / DJGPP / BNU22SR1.ZIP / src / binutils.2 / ld / e_i386ao.c < prev    next >
C/C++ Source or Header  |  1993-05-30  |  3KB  |  99 lines

  1. /* This file is is generated by a shell script.  DO NOT EDIT! */
  2.  
  3. /* emulate the original gld for the given i386aout
  4.    Copyright (C) 1991 Free Software Foundation, Inc.
  5.    Written by Steve Chamberlain steve@cygnus.com
  6.  
  7. This file is part of GLD, the Gnu Linker.
  8.  
  9. This program is free software; you can redistribute it and/or modify
  10. it under the terms of the GNU General Public License as published by
  11. the Free Software Foundation; either version 2 of the License, or
  12. (at your option) any later version.
  13.  
  14. This program is distributed in the hope that it will be useful,
  15. but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17. GNU General Public License for more details.
  18.  
  19. You should have received a copy of the GNU General Public License
  20. along with this program; if not, write to the Free Software
  21. Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
  22.  
  23. #define TARGET_IS_i386aout
  24.  
  25. #include "bfd.h"
  26. #include "sysdep.h"
  27. #include "ld.h"
  28. #include "config.h"
  29. #include "ldemul.h"
  30. #include "ldfile.h"
  31. #include "ldmisc.h"
  32.  
  33. extern  boolean lang_float_flag;
  34.  
  35.  
  36. extern enum bfd_architecture ldfile_output_architecture;
  37. extern unsigned long ldfile_output_machine;
  38. extern char *ldfile_output_machine_name;
  39.  
  40. static void gldi386aout_before_parse()
  41. {
  42. #ifdef TARGET_IS_m88kbcs
  43.   extern char lprefix;
  44.   lprefix = '@';
  45. #else
  46. #ifndef TARGET_ /* I.e., if not generic */
  47.   ldfile_output_architecture = bfd_arch_i386;
  48. #endif
  49. #endif
  50. }
  51.  
  52.  
  53. static char *gldi386aout_script =  
  54. #include "i386aout.x"
  55. ;
  56. static char *gldi386aout_script_option_Ur  =  
  57. #include "i386aout.xu"
  58. ;
  59. static char *gldi386aout_script_option_r  =  
  60. #include "i386aout.xr"
  61. ;
  62. static char *gldi386aout_script_option_n  =  /* Used with -n flag. */
  63. #include "i386aout.xn"
  64. ;
  65. static char *gldi386aout_script_option_N  =  /* Used with -N flag. */
  66. #include "i386aout.xbn"
  67. ;
  68.  
  69. static char *gldi386aout_get_script()
  70. {                 
  71.   extern ld_config_type config;
  72.   if (config.relocateable_output == true &&
  73.       config.build_constructors == true) {
  74.     return gldi386aout_script_option_Ur;
  75.   }
  76.   if (config.relocateable_output == true) {
  77.     return gldi386aout_script_option_r;
  78.   }
  79.   if (!config.text_read_only)
  80.     return gldi386aout_script_option_N;
  81.   if (!config.magic_demand_paged)
  82.     return gldi386aout_script_option_n;
  83.   return gldi386aout_script;
  84. }
  85. struct ld_emulation_xfer_struct ld_i386aout_emulation = 
  86. {
  87.   gldi386aout_before_parse,
  88.   syslib_default,
  89.   hll_default,
  90.   after_parse_default,
  91.   after_allocation_default,
  92.   set_output_arch_default,
  93.   ldemul_default_target,
  94.   before_allocation_default,
  95.   gldi386aout_get_script,
  96.   "i386aout",
  97.   "a.out-i386"
  98. };
  99.